#pragma once

#include <cstdint>
#include <memory>

#define LOG(fmt, ...) printf(fmt, __VA_ARGS__)


const int CHUNK_SIZE = 1024 * 1024;

enum OperatorType {
    COLLECT,
    CHUNK,
};

struct Collect {
    int count;  // 总共有多少个块
};

struct Chunk {
    struct Head {
        int no;   // 当前块的编号
        int size; // 当前块的大小（最大不超过CHUNK_SIZE）
        uint32_t hash;  // 当前块内容的hash值
    } head;
    std::unique_ptr<char[]> data;
};